import { createRouter, createWebHistory } from 'vue-router'
import HomeView from '../views/HomeView.vue'
import LoginView from '@/views/LoginView.vue'
import { componentSizeMap } from 'element-plus'
//该js文件是用来设置视图的路由的
const routes = [
  
  {
    path:'/login',
    name:'login',
    component:LoginView,
   
  },

  {
    path:'/home',
    name:'home',
    component:HomeView,
    redirect:'/welcome',
    children:
    [  //为home页面设置子视图
        {
            path:'/welcome',
            name:'welcome',
            component:()=>import('../views/WelcomeView.vue')
          },

          {
            path:'/user_list', //这个地方设置的路由要和数据库中的路由匹配上
            name:'user_list',
            component: () => import('../views/UserView.vue')

          }
        ]
  },

  
]

const router = createRouter({
  history: createWebHistory(process.env.BASE_URL),
  routes
})

export default router

//做router跳转的login_required验证 在登录前执行
//to表示要跳转的目标路由对象，from表示当前路由对象，next是一个函数
//在函数内部，首先判断目标路径是否为登录页面（/login），如果是，则直接调用next()函数放行。
// 如果不是登录页面，则通过sessionStorage.getItem('token')获取存储在浏览器会话存储中的token值。
// 然后根据token值的情况，决定是否重定向到登录页面或者允许访问。
router.beforeEach((to,from,next)=>{
     if(to.path=='/login'){
      next()
     }
     else{
      //获取token值
     const token=sessionStorage.getItem("token")
     if(token==null||token==''){
      next('/login')
     }
     next()
     }
})
